package com.ruoyi.web.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.core.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 模块字段表
 *
 * @author https://gitee.com/deeround
 * @TableName sys_mod_column
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "sys_mod_column")
public class SysModColumn extends BaseEntity implements Serializable {

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "column_id")
    private String columnId;

    /**
     * 模块id
     */
    @TableField(value = "mod_id")
    private String modId;

    /**
     * 字段名
     */
    @TableField(value = "column_name")
    private String columnName;

    /**
     * 字段中文名
     */
    @TableField(value = "column_label")
    private String columnLabel;

    /**
     * 是否主键
     */
    @TableField(value = "is_primary_key")
    private String isPrimaryKey;

    /**
     * 是否固定列
     */
    @TableField(value = "is_system_column")
    private String isSystemColumn;

    /**
     * 是否允许为空：1 是；0 否
     */
    @TableField(value = "is_allow_null")
    private String isAllowNull;

    /**
     * 数据类型
     */
    @TableField(value = "data_type")
    private String dataType;

    /**
     * 字段长度
     */
    @TableField(value = "data_length")
    private Integer dataLength;

    /**
     * 小数位数
     */
    @TableField(value = "data_scale")
    private Integer dataScale;

    /**
     * 默认值
     */
    @TableField(value = "default_value")
    private String defaultValue;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 提示信息
     */
    @TableField(value = "prompt")
    private String prompt;

    /**
     * 是否必填
     */
    @TableField(value = "is_required")
    private String isRequired;

    /**
     * 验证规则
     */
    @TableField(value = "validate_rule")
    private String validateRule;

    /**
     * 初始值
     */
    @TableField(value = "init_value")
    private String initValue;

    /**
     * 计算公式
     */
    @TableField(value = "formula")
    private String formula;

    /**
     * 是否隐藏
     */
    @TableField(value = "is_hide")
    private String isHide;

    /**
     * 是否只读
     */
    @TableField(value = "is_readonly")
    private String isReadonly;

    /**
     * 是否修改时只读
     */
    @TableField(value = "is_edit_readonly")
    private String isEditReadonly;

    /**
     * 控件类型
     */
    @TableField(value = "control_type")
    private String controlType;

    /**
     * 控件格式
     */
    @TableField(value = "control_format")
    private String controlFormat;

    /**
     * 控件数据源类型
     */
    @TableField(value = "data_source_type")
    private String dataSourceType;

    /**
     * 控件数据源
     */
    @TableField(value = "data_source")
    private String dataSource;

    /**
     * 是否多选
     */
    @TableField(value = "is_multiple")
    private String isMultiple;

    /**
     * 子表表名
     */
    @TableField(value = "sub_table_name")
    private String subTableName;

    /**
     * 控件宽度
     */
    @TableField(value = "control_width")
    private Integer controlWidth;

    /**
     * 控件序号
     */
    @TableField(value = "control_order_num")
    private Integer controlOrderNum;

    /**
     * 是否列表字段
     */
    @TableField(value = "is_list_column")
    private String isListColumn;

    /**
     * 列表宽度
     */
    @TableField(value = "list_column_width")
    private Integer listColumnWidth;

    /**
     * 列表序号
     */
    @TableField(value = "list_column_order_num")
    private Integer listColumnOrderNum;

    /**
     * 是否排序字段
     */
    @TableField(value = "is_sort_column")
    private String isSortColumn;

    /**
     * 是否默认排序字段
     */
    @TableField(value = "is_default_sort_column")
    private String isDefaultSortColumn;

    /**
     * 查询类型
     */
    @TableField(value = "query_type")
    private String queryType;

    /**
     * 查询时，是否多选
     */
    @TableField(value = "is_query_multiple")
    private String isQueryMultiple;

    /**
     * 查询时，是否位于左侧
     */
    @TableField(value = "is_query_left")
    private String isQueryLeft;

    /**
     * 查询时，控件格式
     */
    @TableField(value = "query_control_format")
    private String queryControlFormat;

    /**
     * 查询序号
     */
    @TableField(value = "query_order_num")
    private Integer queryOrderNum;

    /**
     * 合计类型
     */
    @TableField(value = "sum_type")
    private String sumType;

    /**
     * 合计字段
     */
    @TableField(value = "sum_column_name")
    private String sumColumnName;

    /**
     * 合计格式
     */
    @TableField(value = "sum_format")
    private String sumFormat;


}
